package com.net.xpay.common.domain;

import com.net.common.domain.CommonDomain;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 安全发账本汇款充值记录
 */
@Getter
@Setter
@NoArgsConstructor
public class BookAccountLargeDepositChargeOrder extends CommonDomain {
    @ApiModelProperty(notes = "用户id")
    private Long userId;

    @ApiModelProperty(notes = "支付宝账号")
    private String alipayNickName;

    @ApiModelProperty(notes = "支付宝主体名称")
    private String alipayName;

    @ApiModelProperty(notes = "支付宝用户id")
    private String alipayUid;

    @ApiModelProperty(notes = "转账金额 单位元 2位小数 2.00")
    private BigDecimal transAmount;

    @ApiModelProperty(notes = "safePayBookAccountId")
    private String safePayBookAccountId;

    @ApiModelProperty(notes = "资金记账本id")
    private String bookId;

    @ApiModelProperty(notes = "支付宝签约协议号")
    private String agreementNo;

    @ApiModelProperty(notes = "订单完成时间")
    private LocalDateTime endTime;

    @ApiModelProperty(notes = "支付宝转账单据号")
    private String orderNo;

    /**
     * 汇款充值的通知数据
     */
    @ApiModelProperty(notes = "付款账号类型")
    private String payerIdentityType;

    @ApiModelProperty(notes = "付款账号")
    private String payerIdentity;

    @ApiModelProperty(notes = "充值来源")
    private String source;

    @ApiModelProperty(notes = "付款人姓名")
    private String payerName;


    public static BookAccountLargeDepositChargeOrder getInstance() {
        return new BookAccountLargeDepositChargeOrder();
    }
}
